home *** CD-ROM | disk | FTP | other *** search
- //+-------------------------------------------------------------------------
- //
- // Microsoft Windows
- // Copyright (c) Microsoft Corporation. All rights reserved.
- //
- // File: vidcap.idl
- //
- // Contents: Video Capture and Topology Interface Definitions
- //
- // History: first published in XP SP2 (ISelector,IKsTopologyInfo)
- //
- //--------------------------------------------------------------------------
-
- import "unknwn.idl";
- import "strmif.idl";
-
- // The preprocessor directives here ensure that KSTOPOLOGY_CONNECTION is defined in the correct way
- // Constraint is that ks.h cannot be included in the idl file. The directives below ensure that
- // 1) KSTOPOLOGY_CONNECTION is locally defined for purposes of building the idl file itself.
- // 2) An app can include vidcap.h and ks.h in either order.
- // 3) The structure definition for KSTOPOLOGY_CONNECTION does not show up in vidcap.h since ks.h gets included.
- // Look at vidcap.h to understand exactly what gets generated.
- cpp_quote("#include \"ks.h\"")
- cpp_quote("#ifndef _KS_")
- typedef struct {
- ULONG FromNode;
- ULONG FromNodePin;
- ULONG ToNode;
- ULONG ToNodePin;
- } KSTOPOLOGY_CONNECTION, *PKSTOPOLOGY_CONNECTION;
- cpp_quote("#endif")
-
-
- // IKsTopologyInfo interface
- [
- object,
- local,
- uuid(720D4AC0-7533-11D0-A5D6-28DB04C10000),
- pointer_default(unique)
- ]
- interface IKsTopologyInfo : IUnknown
- {
- HRESULT get_NumCategories([out] DWORD *pdwNumCategories);
- HRESULT get_Category([in] DWORD dwIndex, [out] GUID *pCategory);
- HRESULT get_NumConnections([out] DWORD *pdwNumConnections);
- HRESULT get_ConnectionInfo([in] DWORD dwIndex, [out] KSTOPOLOGY_CONNECTION *pConnectionInfo);
- HRESULT get_NodeName([in] DWORD dwNodeId, [out] WCHAR *pwchNodeName, [in] DWORD dwBufSize, [out] DWORD *pdwNameLen);
- HRESULT get_NumNodes([out] DWORD *pdwNumNodes);
- HRESULT get_NodeType([in] DWORD dwNodeId, [out] GUID *pNodeType);
- HRESULT CreateNodeInstance([in] DWORD dwNodeId, [in] REFIID iid, [out] void **ppvObject);
- }
-
-
- // ISelector interface
- [
- object,
- local,
- uuid(1ABDAECA-68B6-4F83-9371-B413907C7B9F),
- pointer_default(unique)
- ]
- interface ISelector : IUnknown
- {
- HRESULT get_NumSources([out] DWORD *pdwNumSources);
- HRESULT get_SourceNodeId([out] DWORD *pdwPinId);
- HRESULT put_SourceNodeId([in] DWORD dwPinId);
- }
-
-
- // IKsNodeControl interface
- [
- object,
- local,
- uuid(11737C14-24A7-4bb5-81A0-0D003813B0C4),
- pointer_default(unique)
- ]
- interface IKsNodeControl :IUnknown
- {
- HRESULT put_NodeId([in] DWORD dwNodeId);
- HRESULT put_KsControl([in] PVOID pKsControl);
- }
-
-
-
-
-